package com.wxzhou.wangzhuan.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户账户实体
 */
public class UserAccountWithUser {
    private Long id;

    // 用户ID
    private Long userId;

    // 账户余额(单位:分)
    private BigDecimal balance;

    // 冻结余额(单位:分)
    private BigDecimal frozenBalance;

    private BigDecimal totalAmount;

    // 账户状态:参考UserAccountStatusEnum枚举
    private Integer status;

    // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdAt;

    // 更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedAt;

    //昵称
    private String user_nick_name;

    /**
     * 用户是否可用
     */
    private Boolean user_is_enable;

    /**
     * 用户是否可提现
     */
    private Boolean user_is_withdrawal;

    //用户已提现的金额、次数的键值对、今日已提次数、金额、


    public UserAccountWithUser() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public BigDecimal getFrozenBalance() {
        return frozenBalance;
    }

    public void setFrozenBalance(BigDecimal frozenBalance) {
        this.frozenBalance = frozenBalance;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getUser_nick_name() {
        return user_nick_name;
    }

    public void setUser_nick_name(String user_nick_name) {
        this.user_nick_name = user_nick_name;
    }

    public Boolean getUser_is_enable() {
        return user_is_enable;
    }

    public void setUser_is_enable(Boolean user_is_enable) {
        this.user_is_enable = user_is_enable;
    }

    public Boolean getUser_is_withdrawal() {
        return user_is_withdrawal;
    }

    public void setUser_is_withdrawal(Boolean user_is_withdrawal) {
        this.user_is_withdrawal = user_is_withdrawal;
    }
}